---@meta

---@class component_spellbook
local spellbook = {}

---
---@param items idk # 
---author: 
function spellbook:SetItems(items)
end

---
---@param radius idk # 
---author: 
function spellbook:SetRadius(radius)
end

---
---@param user idk # 
---author: 
function spellbook:CastSpell(user)
end

---
---@param radius idk # 
---author: 
function spellbook:SetFocusRadius(radius)
end

---
---@param tag idk # 
---author: 
function spellbook:SetRequiredTag(tag)
end

---
---@param fn idk # 
---author: 
function spellbook:SetSpellFn(fn)
end

---
---@param bgdata idk # 
---author: 
function spellbook:SetBgData(bgdata)
end

---
---author: 
function spellbook:GetSpellName()
end

---
---author: 
function spellbook:HasSpellFn()
end

---
---@param fn idk # 
---author: 
function spellbook:SetOnOpenFn(fn)
end

---
---@param name idk # 
---author: 
function spellbook:SetSpellName(name)
end

---
---author: 
function spellbook:GetSelectedSpell()
end

---
---@param id idk # 
---author: 
function spellbook:SelectSpell(id)
end

---
---@param user idk # 
---author: 
function spellbook:OpenSpellBook(user)
end

---
---@param user idk # 
---author: 
function spellbook:CanBeUsedBy(user)
end

---
---@param fn idk # 
---author: 
function spellbook:SetOnCloseFn(fn)
end

